package com.indusfo.spc.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.indusfo.spc.common.pojo.BasePojo;
import org.springframework.transaction.annotation.Transactional;

import javax.persistence.Transient;
import java.util.Date;
import java.util.List;

/**
 * @Author liub
 * @Date 2019/11/26 16:31
 * @Version 1.0
 */

public class OrderFlow extends BasePojo {

    /**
     * 任务单流程ID
     */
    private Integer orderFlowId;
    /**
     * 任务单ID
     */
    private Integer orderId;
    /**
     * 工序ID
     */
    private Integer proId;

    /**
     * 是否并序
     */
    private Integer sequence;
    /**
     * 任务单版本ID
     */
    private Integer orderTechId;
    /**
     * 上道工序
     */
    private String risePro;
    /**
     * 下道工序
     */
    private String nextPro;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;
    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifyDate;
    /**
     * 说明
     */
    private String remark;
    /**
     * 数据状态
     */
    private Integer dataState;
    /**
     * 顺序号
     */
    private Integer serialNum;

    /*                                    新增字段                                      */

    /**
     * 工序名称
     */
    private String proName;
    /**
     * 工序类型名称
     */
    private String proTypeName;
    /**
     * @Author 熊冰  批次id做保存用
     * @Date 2019/12/26 10:27
     */
    private Integer batchId;
    /**
     * @Author 熊冰 工序状态
     * @Date 2020/3/13 10:45
     */
    private String orderFlowStateName;
    /**
     * @Author 熊冰 用户名称
     * @Date 2020/3/13 10:45
     */
    private String userName;
    /**
     * @Author 熊冰  工位名称
     * @Date 2020/3/13 10:46
     */
    private String stationName;
    /**
     * @Author 熊冰 产线名称
     * @Date 2020/3/13 10:46
     */
    private String productlineName;
    /**
     * 任务单流程工位集合
     */
    private List<OrderStation> orderStationList;

    /**
     * 任务单流程采集参数集合
     */
    private List<OrderDete> orderDeteList;

    /**
     * 任务单流程物料集合
     */
    private List<OrderBom> orderBomList;

    @Transient
    private Integer batchFlowFinishId;

    @Transient
    private Integer orderFlowStateId;

    /**
     * @Author 熊冰 结束时间
     * @Date 2020/3/13 11:19
     */
    @Transient
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private  Date endDate;
    /**
     * @Author 熊冰
     * @Date 开始时间 11:19
     */
    @Transient
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;




    /**
     * 任务单流程不良现象集合
     */
    private List<OrderBadpheno> orderBadphenoList;


    public Integer getBatchId() {
        return batchId;
    }

    public void setBatchId(Integer batchId) {
        this.batchId = batchId;
    }

    public Integer getOrderFlowId() {
        return orderFlowId;
    }

    public void setOrderFlowId(Integer orderFlowId) {
        this.orderFlowId = orderFlowId;
    }

    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    public Integer getProId() {
        return proId;
    }

    public void setProId(Integer proId) {
        this.proId = proId;
    }

    public Integer getSequence() {
        return sequence;
    }

    public void setSequence(Integer sequence) {
        this.sequence = sequence;
    }

    public Integer getOrderTechId() {
        return orderTechId;
    }

    public void setOrderTechId(Integer orderTechId) {
        this.orderTechId = orderTechId;
    }

    public String getRisePro() {
        return risePro;
    }

    public void setRisePro(String risePro) {
        this.risePro = risePro == null ? null : risePro.trim().replace(" ","");
    }

    public String getNextPro() {
        return nextPro;
    }

    public void setNextPro(String nextPro) {
        this.nextPro = nextPro == null ? null : nextPro.trim().replace(" ","");
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getModifyDate() {
        return modifyDate;
    }

    public void setModifyDate(Date modifyDate) {
        this.modifyDate = modifyDate;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim().replace(" ","");
    }

    public Integer getDataState() {
        return dataState;
    }

    public void setDataState(Integer dataState) {
        this.dataState = dataState;
    }

    public String getProName() {
        return proName;
    }

    public void setProName(String proName) {
        this.proName = proName;
    }

    public String getProTypeName() {
        return proTypeName;
    }

    public void setProTypeName(String proTypeName) {
        this.proTypeName = proTypeName;
    }

    public List<OrderStation> getOrderStationList() {
        return orderStationList;
    }

    public void setOrderStationList(List<OrderStation> orderStationList) {
        this.orderStationList = orderStationList;
    }

    public List<OrderDete> getOrderDeteList() {
        return orderDeteList;
    }

    public void setOrderDeteList(List<OrderDete> orderDeteList) {
        this.orderDeteList = orderDeteList;
    }

    public List<OrderBom> getOrderBomList() {
        return orderBomList;
    }

    public void setOrderBomList(List<OrderBom> orderBomList) {
        this.orderBomList = orderBomList;
    }

    public List<OrderBadpheno> getOrderBadphenoList() {
        return orderBadphenoList;
    }

    public void setOrderBadphenoList(List<OrderBadpheno> orderBadphenoList) {
        this.orderBadphenoList = orderBadphenoList;
    }

  public Integer getBatchFlowFinishId() {
    return batchFlowFinishId;
  }

  public void setBatchFlowFinishId(Integer batchFlowFinishId) {
    this.batchFlowFinishId = batchFlowFinishId;
  }

  public Integer getOrderFlowStateId() {
    return orderFlowStateId;
  }

  public void setOrderFlowStateId(Integer orderFlowStateId) {
    this.orderFlowStateId = orderFlowStateId;
  }

  public Date getEndDate() {
    return endDate;
  }

  public void setEndDate(Date endDate) {
    this.endDate = endDate;
  }

  public Integer getSerialNum() {
        return serialNum;
    }

    public void setSerialNum(Integer serialNum) {
        this.serialNum = serialNum;
    }

    public String getOrderFlowStateName() {
        return orderFlowStateName;
    }

    public void setOrderFlowStateName(String orderFlowStateName) {
        this.orderFlowStateName = orderFlowStateName;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getStationName() {
        return stationName;
    }

    public void setStationName(String stationName) {
        this.stationName = stationName;
    }

    public String getProductlineName() {
        return productlineName;
    }

    public void setProductlineName(String productlineName) {
        this.productlineName = productlineName;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }
}
